// 导入路由
import router from '@/router'
// // 导入store
// import store from '@/store'
// 导入nprogress
import Nprogress from 'nprogress'
import 'nprogress/nprogress.css'

// 设置一个白名单
// const whitePage = ['/login', '/404']

// 判断有没有token
//    有token
//       进入的页面是login页，跳转到页面
//       进入页面非login页
//         判断是否有用户信息(1:定义api 2:导入调用(vuex并存储用户信息) 3: 在导航守卫这触发)
//            如果有
//                正常进入
//            没有
//                去获取完用户信息后再正常进入

//    没有token
//      判断要进入的页面是否是白名单(不需要登陆的页面:404/login) 页面,
//            如果是：正常进入
//            如果不是：跳转到登录页

// 设置前置守卫
router.beforeEach(async(to, form, next) => {
  Nprogress.start()
  // if (store.state.user.token) {
  //   if (to.path.toLowerCase() === '/login') {
  //     next('/')
  //   } else {
  //     // 判断是否有用户信息
  //     if (store.state.user.userInfo.userId) {
  //       // 正常进入
        next()
  //     } else {
  //       // 获取用户信息
  //       await store.dispatch('user/getUserInfo')
  //       // next()
  //       // 在动态添加路由后不能立马使用，需要在经历一次beforeEach
  //       next(to.fullPath) // fullPath相对于path就是多了路由传参
  //     }
  //   }
  // } else {
  //   if (whitePage.includes(to.path.toLowerCase())) {
  //     next()
  //   } else {
  //     next('/login')
  //   }
  // }
  Nprogress.done()
})

// 设置后置守卫
router.afterEach(() => {
  Nprogress.done()
})
